package com.xiaoyy.sso.common.vo;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xiaoyy.core.common.vo.BasePageVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 用户登入日志表
 * </p>
 *
 * @author chenzh
 * @since 2020-06-17
 */
@Data
@ApiModel(value="用户登录日志对象", description="用户登入日志")
public class LoginLogVO extends BasePageVO {


    @ApiModelProperty(value = "登入日志id")
    private Long loginId;

    @ApiModelProperty(value = "用户id")
    private String userId;

    @ApiModelProperty(value = "用户名")
    private String userName;

    @ApiModelProperty(value = "登入所在ip")
    private String loginIp;

    @ApiModelProperty(value = "登入时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format="yyyy-MM-dd HH:mm:ss")
    private Date loginTime;

    @ApiModelProperty(value = "退出时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format="yyyy-MM-dd HH:mm:ss")
    private Date logoutTime;

    @ApiModelProperty(value = "登入成功标志 0 失败 1成功")
    private String loginFlag;

    @ApiModelProperty(value = "失败原因")
    private String failReason;

    @ApiModelProperty(value = "登入主机")
    private String loginHost;

    @ApiModelProperty(value = "登入key")
    private String loginKey;

    @ApiModelProperty(value = "登入类型 wx alipay ")
    private String loginType;
    @ApiModelProperty(value = "登入类型 名称 ")
    private String loginTypeName;
    @ApiModelProperty(value = "第三方id")
    private String openId;

    @ApiModelProperty(value = "登入方设备id")
    private String equipmentId;

    @ApiModelProperty(value = "登入方设备类型 pc app")
    private String equipmentType;
    @ApiModelProperty(value = "登入方设备类型名称")
    private String equipmentTypeName;
    @ApiModelProperty(value = "登入token")
    private String accessToken;

    @ApiModelProperty(value = "是否在线 0 否 1 是")
    private String onlineFlag;

    @ApiModelProperty(value = "浏览器类型")
    private String browser;
    @ApiModelProperty(value = "浏览器类型名称")
    private String browserName;
    @ApiModelProperty(value = "年月")
    private Integer ym;

    @ApiModelProperty(value = "刷新token")
    private String refreshToken;

    @ApiModelProperty(value = "应用id")
    private String clientId;
    @ApiModelProperty(value = "应用名称")
    private String appName;

    @ApiModelProperty(value = "用户类型")
    private String userType;
    @ApiModelProperty(value = "用户类型名称")
    private String userTypeName;
    @ApiModelProperty(value = "登录组织单位")
    private String orgId;
    @ApiModelProperty(value = "组织单位编码")
    private String orgCode;
    @ApiModelProperty(value = "组织单位名称")
    private String orgName;

    @ApiModelProperty(value = "系统版本号")
    private String version;

    @ApiModelProperty(value = "系统编号")
    private String systemCode;

    @ApiModelProperty(value = "系统名称")
    private String systemName;


}
